package com.tedu.api.thread;

import com.sun.deploy.net.proxy.ProxyUnavailableException;
import com.sun.org.apache.bcel.internal.generic.NEW;

/**
 * 软件--多个或者一个进程【理解：工厂】---很多线程【理解：工厂工人】
 * 线程创建方式三种：
 * 1.Thread类--创建线程，编写步骤：
 * ①类继承Thread线程类
 * ②run方法--线程功能
 * ③start方法--启动线程
 * 2.Runnable接口--创建线程
 * 3.匿名内部类方式--Lambda表达式
 */
public class ThreadAPI {
    public static void main(String[] args) {
        new Thread(()->{for (
                int i=0;i<1000;i++)
        {System.out.println("给我学啊，醉啊");}
        }).start();
        new Thread(()->{
            for (int i=0;i<1000;i++){
                System.out.println("我对你啊，醉啊");
            }
        }).start();
          //创建线程---多态  造型：父类引用指向子类的对象
        Thread t1=new MyThread();
        //启动线程不是直接调run【定义功能】  start启动线程
        t1.start();

        //练习：创建线程类：MyThread1继承Thread---
        //线程功能：1000次语句块
        //我对你啊，醉呀   查看2000次输出语句是否存在交叉
        Thread t2=new MyThread();
        t2.start();
    }
}
class MyThread extends Thread{
    //线程功能---run方法---指定线程功能：执行1000次：语句块
    public void run() {
        for (int i=0;i<1000;i++){
            System.out.println("给我学的呀，醉啊");
        }
    }

    class MyThread1 extends Thread{
        public void run() {
           for(int i=0;i<1000;i++){
               System.out.println("我对你呀，醉啊");
           }
        }
    }
}
